package com.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @RequestMapping:
 * 作用：建立请求路径与方法的对应关系
 * 位置：
 *      类上：窄化路径，区分不同的类
 *      方法上：建立请求路径与方法的对应关系
 * @ResponseBody:
 * 作用：将方法的返回值，转为json格式的数据发送给客户端
 */
@Controller
@RequestMapping(("/user"))
public class UserController {

    @RequestMapping("/save")
    @ResponseBody
    public String save(){
        System.out.println("UserController的save方法执行了...");
        return "success";
    }

    /**
     * @RequestMapping:
     *      path/value：给方法绑定浏览器访问时的路径
     *          注意：一个路径只能找到一个处理器方法，但一个方法可以被多个路径访问
     *      method：限制请求方式
     *          如果不设置，则表示所有方式都允许访问
     *      produces：响应数据的数据类型
     *
     *      以下四个注解的作用和@RequestMapping的作用是一样的，只是限制了请求方式
     *      @GetMapping
     *      @PostMapping
     *      @PutMapping
     *      @DeleteMapping
     */
    @RequestMapping(path = "/handler",method = RequestMethod.GET,produces = "text/html;charset=utf-8")
    @ResponseBody
    public String handler(){
        System.out.println("UserController的handler方法执行了...");
        return "handler-success-中文";
    }

}
